-
Notifications
You must be signed in to change notification settings - Fork 198
ci: reproducible builds using pinned VM images #8211
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ci: reproducible builds using pinned VM images #8211
Conversation
* main: chore: Update to elastic/beats@c51fee3a852e (elastic#8246) chore: Update to elastic/beats@82f47f73acbd (elastic#8239) Fix minor typo in beats update job (elastic#8233) fix(diagnostics): handle log rotation races (elastic#8215) Fix some minor issues with the beats version update job (elastic#8224) [main][Automation] Update elastic/beats to 9382cc20546b (elastic#8222) Automatically update beats module versions (elastic#8174) chore: deps(ironbank): Bump ubi version to 9.6 (elastic#8218)
| file: https://storage.googleapis.com/artifacts-api/vm-images/elastic-agent/latest.json | ||
| key: .date |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I plan to automate this in our VM generator, but for now the folder structure follows the below pattern:
<repo>/latest.json
Follow-up:
- Create a changelog file under
https://storage.googleapis.com/artifacts-api/vm-images/changelog/elastic-agent/<version>.md - Leverage the PR description with the content of the
changelog.mdfile
💔 Build Failed
Failed CI StepsHistory
cc @v1v |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is basically LGTM, but there was an additional promotion of elastic-agent images that happened yesterday1 to include an important PR2 when a new Go version is absent from the vm images, so I've left some changes to reflect the latest version of the images used as of now.
To get a list of the GCP images I used a simple script:
for vmimg in family/platform-ingest-elastic-agent-ubuntu-2204 family/platform-ingest-elastic-agent-ubuntu-2404 family/platform-ingest-elastic-agent-rhel-8 family/platform-ingest-elastic-agent-debian-12 family/platform-ingest-elastic-agent-windows-2016 family/platform-ingest-elastic-agent-windows-2022 family/platform-ingest-elastic-agent-windows-2025 family/platform-ingest-elastic-agent-windows-10 family/platform-ingest-elastic-agent-windows-11; do
latestimg=$(gcloud compute images describe-from-family $vmimg --project=elastic-images-prod --format='value(selfLink)'); echo ${latestimg##*/}
done
Footnotes
-
elastic internal link: https://buildkite.com/elastic/vm-images-platform-ingest/builds/757 ↩
-
elastic internal link: https://github.com/elastic/ci-agent-images/pull/1428 ↩
Co-authored-by: Dimitrios Liappis <[email protected]>
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks clear to me. I assume follow-ups for bump-vm-images.yml
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
What do you mean? I plan to enable daily runs instead of weekly, but that's a follow-up that just has been discussed with Dimitrios offline. and I'll remove the commented line for the slack message |
We discussed offline and come up with the below agreement:
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for this CI quality improvement, LGTM 🙂
|
@Mergifyio backport 8.17 8.18 8.19 9.0 |
✅ Backports have been created
|
(cherry picked from commit 9259f35)
(cherry picked from commit 9259f35)
(cherry picked from commit 9259f35)
(cherry picked from commit 9259f35)
* main: bk: use elastic/vault-secrets and test-collector plugins together (elastic#8311) ci: reproducible builds using pinned VM images (elastic#8211)





What does this PR do?
Pin the VM images and automate the autobump.
The autobump will run weekly on Sundays and will raise a PR with the required changes.
Why is it important?
This will help with a stable CI.
Follow-ups
Checklist
./changelog/fragmentsusing the changelog toolDisruptive User Impact
How to test this PR locally
$ GITHUB_TOKEN=$(gh auth token) \ GITHUB_ACTOR=v1v \ updatecli diff --config .ci/updatecli/updatecli-bump-vm-images.yml --values .ci/updatecli/values.d/scm.ymlproduced
While with apply
$ GITHUB_TOKEN=$(gh auth token) \ GITHUB_ACTOR=v1v \ updatecli apply --config .ci/updatecli/updatecli-bump-vm-images.yml --values .ci/updatecli/values.d/scm.ymlv1v#6
Related issues
Questions to ask yourself